package com.coolingme.web.dict;

import com.coolingme.web.dict2.SensitiveInfo;
import com.coolingme.web.dict2.SensitiveType;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * 成员返回值
 *
 * @author wangyue
 * @date 2021/11/24 17:42
 */
@Data
@ApiModel(value = "MemberVo", description = "成员返回值")
public class MemberVo {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "群体成员关联ID", position = -5)
    private Long groupsMemberId;

    @ApiModelProperty(value = "成员主键", position = -4)
    private Long id;

    @ApiModelProperty(value = "群体主键", position = -3)
    private Long groupsId;

    @ApiModelProperty("群体名称")
    private String groupsName;

    /**
     * 是否骨干
     */
    @ApiModelProperty(position = -2)
    private Integer isBackbone;

    @ApiModelProperty(value = "姓名")
    @SensitiveInfo(SensitiveType.CHINESE_NAME)
    private String name;

    @ApiModelProperty(value = "身份证号")
    private String idCardNo;

    /**
     * 性别
     */
    @ApiModelProperty(value = "性别")
    private Integer sex;

    @ApiModelProperty(value = "性别")
//    @DictAnnotation(type = DictAnnotation.ElementType.SEX)
    private String sexLabel;

    /**
     * 婚姻状态
     */
    @ApiModelProperty(value = "婚姻状态")
//    @DictAnnotation(type = DictAnnotation.ElementType.MARITAL_STATE)
    private Integer maritalState;

    @ApiModelProperty(value = "护照号")
    private String passportNo;

    @ApiModelProperty(value = "籍贯代码（略）")
    private String nativePlaceCode;

    @ApiModelProperty(value = "户籍地址")
    private String registeredPermanentAddress;

    @ApiModelProperty(value = "现住地址")
    private String presentAddress;

    /*** 群体管理模块审批 ***/
    @ApiModelProperty(value = "群体管理模块审批", position = 4, example = "1")
    private Integer approveState;

    /*** 字典转义 ***/
    @ApiModelProperty(value = "审批状态名称", position = 5, example = "待审批")
    private String approveStateName;

    @ApiModelProperty(value = "审批备注", position = 6)
    private String approveRemark;

}
